var _m_url = '/publishUI/';

var waitFHDsIds=new Array();
waitFHDsIds[0]='ds_fx_hand_out2';
waitFHDsIds[1]='ds_fx_hand_out3';
waitFHDsIds[2]='ds_fx_hand_out1';

var waitFHDgIds=new Array();
waitFHDgIds[0]='prodGroupWY';  // 按商品(未验)		datagrid id
waitFHDgIds[1]='prodGroupYY';  // 按商品(已验)		datagrid id


var waitFHTitles=new Array();
waitFHTitles[0]='按商品(未检验)';
waitFHTitles[1]='按商品(已验待发)';


/**
 * 初始化方法
 * 待发货区
 */
function initFH() {
	var dsIdObjs=new Array();
	dsIdObjs[0]={dsid:waitFHDsIds[0],type:'44'};
	dsIdObjs[1]={dsid:waitFHDsIds[1],type:'44'};
	dsIdObjs[2]={dsid:waitFHDsIds[2],type:'6'};
	$.ajax( {
		type : 'post',
		url : _m_url + 'fxa/loadColnList',
		contentType:"application/json;charset=utf-8",
		dataType:"json",
		data:JSON.stringify(dsIdObjs),
		async:false,
		success : function(data) {
			//1.初始化datagrid 和常用查询条件
			initWaitFHDg(waitFHDgIds[0],data[waitFHDsIds[0]]);
			initWaitFHDg(waitFHDgIds[1],data[waitFHDsIds[1]]);
			producePage(data[waitFHDsIds[2]], 'sdf_commUse', '6', '');
			
			// 2.填充查询条件下拉框的对照信息
			var pDivNames=new Array();
			pDivNames[0]="sdf_commUse";
			loadDefaultData(pDivNames,waitFHDsIds[2],"2","0");
			
			// 3.重新查询条件的enter事件
			$("#sdf_commUse").find("*[onkeydown*='enterFquery']").map(function(){
				$(this).attr("onkeydown","if(event.keyCode==13) loadDataFH(this,1);");
			});
		}
	});
}


/**
 * 初始化datagrid的列
 * 待发货区
 */
function initWaitFHDg(divId,colData){
	var options = jointDGColumn(colData);
	var fzClns = options.frozenColumns;
	options.frozenColumns = [[{field:'kk',checkbox:true}]];
	for(var i = 0; i < fzClns[0].length; i ++){
		options.frozenColumns[0].push(fzClns[0][i]);
	}
	var useDgW=$("#waitFhTabs").width()-10;
	var clientH=document.documentElement.clientHeight;
	var useDgH=(parseInt(clientH)-170);
	//获取div的宽度和高度
	$('#'+divId).datagrid({
		width:useDgW,
		height:useDgH,
		iconCls:'icon-save',
		striped: true,		
		collapsible:true,
		autoRowHeight: false,		
		sortOrder: 'desc',
		remoteSort: false,
		columns:options.columns,
		showFooter:true,
		pagination:true,
		pageList:[300,400,500,50],
		frozenColumns:options.frozenColumns,
		rownumbers:true,
		singleSelect:false,
		rowStyler:function(index,row){ 
			return window.parent.getRowStyler(index,row,colData);
		},
		onRowContextMenu:function(e, rowIndex, rowData){// 右键菜单
		    $('#mm').menu('show', {
		        left:e.pageX,
		        top:e.pageY
		    });
		},
		onClickCell:function(rowIndex, field, value){
			$(this).attr("colnName",field);
		},
		onClickRow:function(rowIndex,rowData){
			var colnName=$(this).attr("colnname");
			$(this).datagrid('beginEdit',rowIndex);
			var ed = $(this).datagrid('getEditor', {index:rowIndex,field:colnName});
			if(ed!=null){
				var amountObj=$($(this).datagrid("getEditor",{index:rowIndex,field:colnName}).target[0]).parent("td").find("#editablebox");
				$($(this).datagrid("getEditor",{index:rowIndex,field:colnName}).target[0]).parent("td").find("#editablebox").css("background-color","#C9ECFE");
				amountObj.focus();
			}
		}
	});
	$("#"+divId).datagrid("keyCtr_Wf");
}



/*****
 * 加载datagrid 中的数据
 * @param dsId
 * @return
 */
function loadDataFH(obj,flag){
	var dgId="";
	var dsId="";
	var allConfig="";
	//1.获取输入的查询条件
	var allConfig = parseConfig("sdf_commUse");
	//2.获取选中的tab 的dsId 和dgId
	var selectTile = $('#waitFhTabs').tabs('getSelected').panel('options').title; 
	if(selectTile==waitFHTitles[0]){    //按商品(未检验)
		dsId=waitFHDsIds[0];
		dgId=waitFHDgIds[0]; 			
	}else{								//按商品(以验待发)
		dsId=waitFHDsIds[1];
		dgId=waitFHDgIds[1]; 	
	}
	$('#'+dgId).datagrid({
		pageNumber:1,
		url:_m_url+'framework/loadDataQ',
		queryParams:{'dsId':dsId,'config':allConfig,"isTotal":"true"},
	});
}



/***
 * 待发货区部门审核按钮执行的方法
 * @param obj
 * @return
 */
function derpVerify(obj) {
    var divName1 = waitFHDgIds[0];
    //关闭所有行编辑
    $("#" + waitFHDgIds[0]).datagrid("endAllEdit");
    //获取选中的行
    var selRows = $('#' + waitFHDgIds[0]).datagrid('getSelections');
    //判断有没有选择行
    if (selRows.length == 0) {
        $.messager.alert('温馨提示', '亲，你没有选择审核数据哦！');
        return;
    }
    var differCount = 0;//累计审核数不等于订单数的次数
    var differDiscount = 0;//累计折扣低于45%的次数
    for (var i = 0; i < selRows.length; i++) {
        var dzcount = selRows[i].H_AMOUNT_YF;
        var shcount = selRows[i].H_AMOUNT_BM;
        var H_DISCOUNT = selRows[i].H_DISCOUNT;
        if (parseInt(dzcount) != parseInt(shcount)) {
            differCount++;
        }
        if (H_DISCOUNT < 0.45) {
            differDiscount++;
        }
    }
    //只要有一条数据  订单数和本次审核数不一致  就给出提示
    if (differCount >= 1 && differDiscount == 0) {
        $.messager.confirm('温馨提示', '本次审核数与订单不一致你确认审核吗？', function (r) {
            if (r) {
                derpSaveVerify(selRows)
            }
        });
    }
    //只要有一条数据  折扣低于45% 就给出提示
    else if(differDiscount >= 1 && differCount == 0)
    {
        $.messager.confirm('温馨提示', '选中数据中有小于45%折的商品，是否继续？', function (r) {
            if (r) {
                derpSaveVerify(selRows)
            }
        });
    }    else if(differDiscount >= 1 && differCount >= 1)//只要有一条数据  订单数和本次审核数不一致以及折扣低于45% 就给出提示
    {
        $.messager.confirm('温馨提示', '选中数据中有小于45%折的商品,且本次审核数与订单不一致你确认审核吗？', function (r) {
            if (r) {
                derpSaveVerify(selRows)
            }
        });
    }else{
        derpSaveVerify(selRows);
    }

}
//待发货区部门审核内部调用方法
function derpSaveVerify(selRows){
	var runIds = new Array();
	for ( var i = 0; i < selRows.length; i++) {
			runIds.push(selRows[i].RUN_ID);
	}
	// 审核之前先进行保存
	var saveFlag = false;
	saveFlag = dfhCommSave('1');
	if (saveFlag == true) { // 如果保存成功
		// 然后进行调用存储过程
		$.ajax( {
			type : 'post',
			url : _m_url + 'fxa/deapVerifyFunc',
			contentType : "application/json;charset=utf-8",
			data : JSON.stringify(runIds),
			async:false,
			success : function(data) {
				if (data == "" || data == null) {
					$.messager.alert('温馨提示', '本次部门审核成功！');
					//刷新dataGrid 数据
					loadDataFH();   
				}else {
					$.messager.alert('温馨提示', data);
					//刷新dataGrid 数据
					loadDataFH();
				}
			}
		})
	} else {
		$.messager.alert("温馨提示", "亲，操作出现故障，请联系相关人员！");
		return;
	}
}



/***
 * 确认发货的按钮执行方法
 * @param obj
 * @return
 */
function sureFH(obj) {
	var divName1 = waitFHDgIds[1];
	$("#"+waitFHDgIds[0]).datagrid("endAllEdit");   //关闭所有行编辑
	var selRows = $('#' + divName1).datagrid('getSelections');//获取下面div选择的行数据
	
	var runids="";
	for(var i=0;i<selRows.length;i++){
		runids += '\''+selRows[i]["RUN_ID"]+ '\''+",";
	}
	runids = runids.substring(0, runids.lastIndexOf(','));
	if(runids == ""){
		$.messager.alert('温馨提示', '亲，没有选发货数据哦！！');
		return;
	}
	$.ajax({
		type : 'post',
		url : _m_url + 'fxa/sureFHFunc',
		data:{"runids":runids},
		async:false,
		success : function(data) {
			if (data == 'success') {
				$.messager.alert('温馨提示', '亲，发货成功！');
				loadDataFH();
			}else{
				$.messager.alert('温馨提示', data[0]);
				loadDataFH();
			}
		}
	});
}


/***
 * 新书合并发货按钮执行方法
 * @param obj
 * @return
 */
function clientsureFH(obj) {
	var divName1 = waitFHDgIds[1];
	$("#"+waitFHDgIds[0]).datagrid("endAllEdit");   //关闭所有行编辑
	var selRows = $('#' + divName1).datagrid('getSelections');//获取下面div选择的行数据
	
	var runids="";
	for(var i=0;i<selRows.length;i++){
		runids += '\''+selRows[i]["RUN_ID"]+ '\''+",";
	}
	runids = runids.substring(0, runids.lastIndexOf(','));
	if(runids == ""){
		$.messager.alert('温馨提示', '亲，没有选发货数据哦！！');
		return;
	}
	$.ajax({
		type : 'post',
		url : _m_url + 'fxa/clientsureFH',
		data:{"runids":runids},
		async:false,
		success : function(data) {
			if (data == 'success') {
				$.messager.alert('温馨提示', '亲，发货成功！');
				loadDataFH();
			}else{
				$.messager.alert('温馨提示', data[0]);
				loadDataFH();
			}
		}
	});
}



/***
 * 业务取消发货的按钮执行方法
 * @param obj
 * @return
 */
function ywQxFh(obj) {
	var divName1 = waitFHDgIds[1];
	$("#"+waitFHDgIds[0]).datagrid("endAllEdit");   //关闭所有行编辑
	var selRows = $('#' + divName1).datagrid('getSelections');// 获取上面div选中行数据
	if (selRows.length==0) {			//判断不能同时选择
		$.messager.alert('温馨提示','亲，你没有选择数据哦！！');
		return;
	}
	$.messager.confirm('温馨提示', '亲，您确定要取消发货吗？', function(r) {
		if (r) { 
			var runIds = new Array();
			var str = '(';
			for ( var i = 0; i < selRows.length; i++) {
				str += "'"+selRows[i].RUN_ID+"'";
				if(i<selRows.length-1){
					str+= ',';
				}
				runIds.push(selRows[i].RUN_ID);
			}
			str =str +")";
			$.ajax({
				type : 'post',
				url : _m_url + 'fxa/ywQxFH',
				data:{'runIds':str},
				async:false,
				success : function(data) {
					if (data == true) {
						loadDataFH();
					} else {
						$.messager.alert("温馨提示","亲，取消发货出现错误，请联系相关人员！");
					}
				}
			})
		}
	});
}



/***
 * 本次审核数 改变时 计算本次审核数合计值 
 * @param obj
 * @return
 */
function fx_hamountbm(obj){
	if($(obj).attr("chan")!="T"){
		return;
	}
	var hamount_bm=$(obj).val();      
	var curDiv=$("div[realdsid][prefix][dsid]");  //获取datagrid的div
	var currentRow=$(curDiv).datagrid("getEditRow");  //获取正在编辑的行
	var i=$(curDiv).datagrid("getRowIndex",currentRow);
	currentRow["H_AMOUNT_BM"]=hamount_bm;   //因为数量是可编辑的框，所以此处必须显示赋值，否则 计算通用的明细统计的计算方法中使用的数量有可能是上一次的值	
	var new_hamount_bm=parseInt(0);//用来累加所有的本次审核数
	var rows = $(curDiv).datagrid("getRows"); //获取当前页的所有行。
	for(var i=0;i<rows.length;i++){  //循环获取所有的数据
		new_hamount_bm+=parseInt(rows[i].H_AMOUNT_BM); //循环累加本次审核数
	}
	var row = $(curDiv).datagrid("getFooterRows");
	row[0]['H_AMOUNT_BM'] = new_hamount_bm;
	$(curDiv).datagrid("reloadFooter",row);
}

/***
 * 待发货区保存按钮方法 
 * @param obj
 * @return
 */
function derpSave(obj){
	$("#"+waitFHDgIds[0]).datagrid("endAllEdit");  //关闭所有行编辑
	var selRows = $('#'+waitFHDgIds[0]).datagrid('getSelections');  //获取当前选中的行
	if (selRows.length == 0) {
		$.messager.alert('温馨提示', '亲，你没有选择审核数据哦！');
		return;
	}
	var saveFlag = false;  //保存标志位
	saveFlag = dfhCommSave('1');  //获取保存结果
	if(saveFlag){
		$.messager.alert('温馨提示','亲，数据保存成功！');
	}else{
		$.messager.alert('温馨提示','亲，数据保存失败！检查输入信息');
	}
}
//待发货区保存方法
function dfhCommSave(flag) {
	var allRows = $("#"+waitFHDgIds[0]).datagrid('getRows');
	for ( var i = 0; i < allRows.length; i++) {
		$("#"+waitFHDgIds[0]).datagrid('endEdit', i);
	}
	//1.关闭所有的行编辑
	$("#"+waitFHDgIds[0]).datagrid('endAllEdit');
	//获取改变的行
	var updR =$("#"+waitFHDgIds[0]).datagrid('getChanges', 'updated');
	var retFlag = false;
	$.ajax({
		type : 'post',
		url : _m_url + 'fxa/dfhqCommSave?flagStr=' + flag,
		async : false,
		contentType : "application/json;charset=utf-8",
		dataType : "json",
		data : JSON.stringify(updR),
		success : function(data) {
			retFlag = data;
		}
	});
	return retFlag;
}



//重置按钮事件
function dfhqresult(){
 $("#sdf_commUse").find("input").val('');
 $("#sdf_commUse").find("select option[value='']").attr("selected",true);
 $('#prodGroupWY').datagrid('loadData',{total:0,rows:[]}); 
 $('#prodGroupYY').datagrid('loadData',{total:0,rows:[]}); 
}



/*******************************************************************************
 * 所有datagrid的绑定的键盘事件
 ******************************************************************************/
$.extend($.fn.datagrid.methods, {
	keyCtr_Wf: function (jq) {
		return jq.each(function(){
			var grid = $(this);
			var ed =null;
			var id=grid.attr("id");
			var prefix=grid.attr("prefix");		// 前缀
			grid.datagrid('getPanel').panel('panel').attr('tabindex',1).bind('keydown',function (e) {
				switch (e.keyCode) {
					case 13:     				// enter(键盘的enter键)
						//触发确定事件
						return false;
					case 16:     				// shift(键盘的shift键)
						return false;
					case 38: 					// up(键盘的上键)
						var index=grid.datagrid("getEditRowIndex");
						var colnName=grid.attr("colnName");
						if(colnName==null||index==null){
							console.log("请先把焦点定位其中的任意行，快捷上下键才能生效");
							return;
						}
						var allRows = grid.datagrid("getRows");
						grid.datagrid('unselectRow',index);
						index=(parseInt(index)-1)<0?allRows.length-1:parseInt(index)-1;
						grid.datagrid('beginEdit',index);
						grid.datagrid('selectRow',index);
						if($(grid).datagrid("getEditor",{index:index,field:colnName})!=null&&$($(grid).datagrid("getEditor",{index:index,field:colnName}).target[0]).parent("td").find("#editablebox").length>0){
							var amountObj=$($(grid).datagrid("getEditor",{index:index,field:colnName}).target[0]).parent("td").find("#editablebox");
							$(amountObj).css("background-color","#C9ECFE");
							$(amountObj).focus();
						}
						return false;
					case 40: 					// down(键盘的下键)
						var index=grid.datagrid("getEditRowIndex");
						var colnName=grid.attr("colnName");
						if(colnName==null||index==null){
							console.log("请先把焦点定位其中的任意行，快捷上下键才能生效");
							return;
						}
						var allRows = grid.datagrid("getRows");
						grid.datagrid('unselectRow',index);
						index=(parseInt(index)+1>=allRows.length?0:parseInt(index)+1);
						grid.datagrid('beginEdit',index);
						grid.datagrid('selectRow',index);
						if($(grid).datagrid("getEditor",{index:index,field:colnName})!=null&&$($(grid).datagrid("getEditor",{index:index,field:colnName}).target[0]).parent("td").find("#editablebox").length>0){
							var amountObj=$($(grid).datagrid("getEditor",{index:index,field:colnName}).target[0]).parent("td").find("#editablebox");
							$(amountObj).css("background-color","#C9ECFE");
							$(amountObj).focus();
						}
						return false;
				}
			});
		});
	}
});
